=== NXP LS1028A/1027A SoC support

Contact: Kornel Dulęba <mindal@semihalf.com> +
Contact: Artur Rojek <ar@semihalf.com> +
Contact: Hubert Mazur <hum@semihalf.com> +
Contact: Wojciech Macek <wma@semihalf.com>

The Semihalf team has been working on adding the FreeBSD support for the link:https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/layerscape-processors/layerscape-1028a-applications-processor:LS1028A[NXP LS1028A] SoC, as well as its GPU-less variant (NXP LS1027A).

NXP LS1028A/LS1027A SoC is a dual-core 64-bit ARMv8 Cortex-A72 application processor with high-speed peripherals such as 2 Time-Sensitive Networking-capable (TSN) Ethernet controllers, quad-port TSN-enabled switch, PCIE, SD/MMC, USB3.0 and others.

The original support was extended in the following way:

* ENETC Ethernet link:https://cgit.freebsd.org/src/log/sys/dev/enetc[driver]
** Add support for PHY interrupts
** Fix VID/mcast address hash calculation
** Serialize MDIO transactions
** Allow loading driver as a module
* Improvements in the link:https://cgit.freebsd.org/src/log/sys/dev/sdhci/sdhci_fsl_fdt.c[FSL SDHCI driver]
** Add support for HS200/HS400 modes
** Add full support for software reset
** Provide more accurate clk calculation
** Implement pulse width detection errata
** Fix vccq reconfiguration
* FLEX SPI NOR controller link:https://cgit.freebsd.org/src/log/sys/dev/flash/flexspi/flex_spi.c[driver]
* Additional features:
** TMP461 thermal sensor link:https://cgit.freebsd.org/src/log/sys/dev/iicbus/tmp461.c[driver]
** PCF85063 RTC driver link:https://cgit.freebsd.org/src/log/sys/dev/iicbus/rtc/pcf85063.c[driver]
** TCA6408 I2C GPIO expander link:https://cgit.freebsd.org/src/log/sys/dev/iicbus/gpio/tca6408.c[driver]

TODO:

* Improve MMC HS200/HS400 support for other SoCs using the FSL SDHCI controller.

Sponsor: Alstom Group
